home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / lib / deskbar-applet / handlers / recent.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2007-04-29  |  3.3 KB  |  78 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. from gettext import gettext as _
  5. import gobject
  6. import gtk
  7. import gnome
  8. import deskbar
  9. import deskbar.Handler as deskbar
  10. import deskbar.Match as deskbar
  11. import deskbar.Utils as deskbar
  12. from deskbar.defs import VERSION
  13. from deskbar.Watcher import FileWatcher
  14.  
  15. def _check_requirements():
  16.     if gtk.pygtk_version >= (2, 9, 0):
  17.         return (deskbar.Handler.HANDLER_IS_HAPPY, None, None)
  18.     
  19.     return (deskbar.Handler.HANDLER_IS_NOT_APPLICABLE, _('This handler requires a more recent gtk version (2.9.0 or newer).'), None)
  20.  
  21. HANDLERS = {
  22.     'RecentHandler': {
  23.         'name': _('Recent Documents'),
  24.         'description': _('Retrieve your recently accessed files and locations'),
  25.         'requirements': _check_requirements,
  26.         'version': VERSION } }
  27.  
  28. class RecentMatch(deskbar.Match.Match):
  29.     
  30.     def __init__(self, backend, recent_infos, **args):
  31.         deskbar.Match.Match.__init__(self, backend, name = recent_infos.get_display_name(), **args)
  32.         self._icon = recent_infos.get_icon(gtk.ICON_SIZE_MENU)
  33.         self.recent_infos = recent_infos
  34.  
  35.     
  36.     def action(self, text = None):
  37.         deskbar.Utils.url_show_file(self.recent_infos.get_uri())
  38.  
  39.     
  40.     def is_valid(self, text = None):
  41.         return self.recent_infos.exists()
  42.  
  43.     
  44.     def get_category(self):
  45.         return 'files'
  46.  
  47.     
  48.     def get_verb(self):
  49.         return _('Open %s') % '<b>%(name)s</b>'
  50.  
  51.     
  52.     def get_hash(self, text = None):
  53.         return self.recent_infos.get_uri()
  54.  
  55.  
  56.  
  57. class RecentHandler(deskbar.Handler.Handler):
  58.     
  59.     def __init__(self):
  60.         deskbar.Handler.Handler.__init__(self, gtk.STOCK_FILE)
  61.         self._recent_manager = gtk.recent_manager_get_default()
  62.  
  63.     
  64.     def query(self, query):
  65.         result = []
  66.         for recent in self._recent_manager.get_items():
  67.             if not recent.get_display_name().lower().startswith(query):
  68.                 continue
  69.             
  70.             if not recent.exists():
  71.                 continue
  72.             
  73.             result.append(RecentMatch(self, recent))
  74.         
  75.         return result
  76.  
  77.  
  78.